This disclosure relates in general to communications and, but not by way of limitation, to reliability within a transport protocol for use in a system with a multicast communications system.
In some topologies of communications systems, groups of users share some or all of the forward and reverse link. For example, in some satellite communications systems, users share spot beams for communicating with a service provider (e.g., via a base station and/or gateway). In some cable communication systems, users share bandwidth on portions of the communication system near or at the user or home connection. Communication services provided to the users over the shared forward link and corresponding reverse links may be affected by a number of factors, including bandwidth and other link conditions. For example, because all users sharing the forward link also share the link's bandwidth, any unnecessary redundancies in communications may cause sub-optimal utilization of the forward link. Similarly, in many systems all users sharing the forward link also share a reverse link that may be used for reliability and error control, thus any unnecessary redundancies in communication, reliability, and error control may also cause sub-optimal usage of the reverse link.
Efficient bandwidth utilization is beneficial in a reverse link when it is not possible to efficiently multicast in the reverse direction. For example, where content is being multicast from a single content source to 1000 users, the reverse link from 1000 users to the single content source may regularly include duplicate information. Some methods of more efficient use of a reverse channel are known. For example, designating hierarchies of users that communicate with each other before using the reverse channel in order to identify redundancies is one example of improving efficiency of a reverse channel. Other methods for improving efficiency use back off timers to delay use of a reverse channel at some users to see if a response to the users request is multicast based on a request from a second user before the first user sends the request.
Use of negative acknowledgement (NACK) for error checking and reliability is another way to reduce use of a reverse channel in multicasting, especially when combined with the other techniques mentioned above. NACK oriented reliable multicast (NORM) protocol uses negative acknowledgment to institute reliability standards in a multicast environment. NORM and all of the methods used above include scaling limitations. Such methods may decrease use of a reverse channel, but reverse channel usage still remains a limiting factor in certain multicast environments.